When multiple pieces of multimedia information, including audio and video packets, are handled over a network, in some cases, they are distributed in flow units among a plurality of processing devices and individually processed thereby in order to reduce network delays. For that purpose, the following two exemplary techniques are employed.
In the first technique disclosed in Japanese Laid-open Patent Publication No. 2003-163687, input packets are classified into some groups, based on their hash values; the hash values are acquired from, for example, the destination addresses, source addresses, source port numbers, and destination port numbers of the input packets. Then, the flows of the groups are output to different routes. In this case, the weight coefficients of the groups are adjusted in accordance with their in-use bandwidths. The range of the hash values is divided such that the proportion of the divisional ranges coincides with that of their weight coefficients, and the hash values are related to the groups. This makes it possible to distribute traffic among the routes optimally and dynamically.
In the second technique disclosed in Japanese Laid-open Patent Publication No. 2009-218988, the multicast groups to which clients are allocated are calculated using specific bits of hash values; the hash values are set based on the IP addresses of the clients.
Problems with the above techniques will be described below. In the first technique, if a large number of input packets are present in the same group and its flow volume exceeds the allowable processing capacity of the route, no mechanism to select an alternative route is prepared.
In the second technique, if the number of clients pertaining to the same group increases, this group is divided. Here, the number of groups created is dependent on a bit count of a hash value, and tables are prepared in relation to multiple bit counts. Groups are created based on these tables. Assuming that input packets are first classified using two bits (into four groups) and then they are classified using three bits (into eight groups), the table for two bits is replaced by the table for three bits. So, when one or more of the groups are divided, the system re-arranges all the groups by, for example, rewriting the data of the groups in the memory.
In order to avoid overtaking of packets or an occurrence of exclusive lock upon access to a shared memory, a flow is preferably processed by the same processing device. When data is rewritten into a memory in order to re-arrange groups, however, processing devices for all flows are updated during the communication. In this case, different processing devices may process the same flow before and after the re-arrangement of the groups. This would cause a packet loss or delay during the communication of flows. Thus, in this technique, the re-arrangement of groups is prone to affect the overall system.
An embodiment discussed herein aims to provide an information processing device and an information processing method which is used in a system that distributes processes among a plurality of processing devices and which are capable of suppressing the processes easily and securely from being concentrated in a specific processing device.